/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.plc4x.java.bacnetip.readwrite;

import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*;
import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*;
import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*;
import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*;
import static org.apache.plc4x.java.spi.generation.StaticHelper.*;

import java.time.*;
import java.util.*;
import org.apache.plc4x.java.api.exceptions.*;
import org.apache.plc4x.java.api.value.*;
import org.apache.plc4x.java.spi.codegen.*;
import org.apache.plc4x.java.spi.codegen.fields.*;
import org.apache.plc4x.java.spi.codegen.io.*;
import org.apache.plc4x.java.spi.generation.*;

// Code generated by code-generation. DO NOT EDIT.

public abstract class BACnetConstructedData implements Message {

  // Abstract accessors for discriminator values.
  public abstract BACnetObjectType getObjectTypeArgument();

  public abstract BACnetPropertyIdentifier getPropertyIdentifierArgument();

  // Properties.
  protected final BACnetOpeningTag openingTag;
  protected final BACnetTagHeader peekedTagHeader;
  protected final BACnetClosingTag closingTag;

  // Arguments.
  protected final Short tagNumber;
  protected final BACnetTagPayloadUnsignedInteger arrayIndexArgument;

  public BACnetConstructedData(
      BACnetOpeningTag openingTag,
      BACnetTagHeader peekedTagHeader,
      BACnetClosingTag closingTag,
      Short tagNumber,
      BACnetTagPayloadUnsignedInteger arrayIndexArgument) {
    super();
    this.openingTag = openingTag;
    this.peekedTagHeader = peekedTagHeader;
    this.closingTag = closingTag;
    this.tagNumber = tagNumber;
    this.arrayIndexArgument = arrayIndexArgument;
  }

  public BACnetOpeningTag getOpeningTag() {
    return openingTag;
  }

  public BACnetTagHeader getPeekedTagHeader() {
    return peekedTagHeader;
  }

  public BACnetClosingTag getClosingTag() {
    return closingTag;
  }

  public short getPeekedTagNumber() {
    return (short) (getPeekedTagHeader().getActualTagNumber());
  }

  protected abstract void serializeBACnetConstructedDataChild(WriteBuffer writeBuffer)
      throws SerializationException;

  public void serialize(WriteBuffer writeBuffer) throws SerializationException {
    PositionAware positionAware = writeBuffer;
    int startPos = positionAware.getPos();
    writeBuffer.pushContext("BACnetConstructedData");

    // Simple Field (openingTag)
    writeSimpleField("openingTag", openingTag, new DataWriterComplexDefault<>(writeBuffer));

    // Virtual field (doesn't actually serialize anything, just makes the value available)
    short peekedTagNumber = getPeekedTagNumber();
    writeBuffer.writeVirtual("peekedTagNumber", peekedTagNumber);

    // Switch field (Serialize the sub-type)
    serializeBACnetConstructedDataChild(writeBuffer);

    // Simple Field (closingTag)
    writeSimpleField("closingTag", closingTag, new DataWriterComplexDefault<>(writeBuffer));

    writeBuffer.popContext("BACnetConstructedData");
  }

  @Override
  public int getLengthInBytes() {
    return (int) Math.ceil((float) getLengthInBits() / 8.0);
  }

  @Override
  public int getLengthInBits() {
    int lengthInBits = 0;
    BACnetConstructedData _value = this;

    // Simple field (openingTag)
    lengthInBits += openingTag.getLengthInBits();

    // A virtual field doesn't have any in- or output.

    // Length of sub-type elements will be added by sub-type...

    // Simple field (closingTag)
    lengthInBits += closingTag.getLengthInBits();

    return lengthInBits;
  }

  public static BACnetConstructedData staticParse(ReadBuffer readBuffer, Object... args)
      throws ParseException {
    PositionAware positionAware = readBuffer;
    if ((args == null) || (args.length != 4)) {
      throw new PlcRuntimeException(
          "Wrong number of arguments, expected 4, but got " + args.length);
    }
    Short tagNumber;
    if (args[0] instanceof Short) {
      tagNumber = (Short) args[0];
    } else if (args[0] instanceof String) {
      tagNumber = Short.valueOf((String) args[0]);
    } else {
      throw new PlcRuntimeException(
          "Argument 0 expected to be of type Short or a string which is parseable but was "
              + args[0].getClass().getName());
    }
    BACnetObjectType objectTypeArgument;
    if (args[1] instanceof BACnetObjectType) {
      objectTypeArgument = (BACnetObjectType) args[1];
    } else if (args[1] instanceof String) {
      objectTypeArgument = BACnetObjectType.valueOf((String) args[1]);
    } else {
      throw new PlcRuntimeException(
          "Argument 1 expected to be of type BACnetObjectType or a string which is parseable but"
              + " was "
              + args[1].getClass().getName());
    }
    BACnetPropertyIdentifier propertyIdentifierArgument;
    if (args[2] instanceof BACnetPropertyIdentifier) {
      propertyIdentifierArgument = (BACnetPropertyIdentifier) args[2];
    } else if (args[2] instanceof String) {
      propertyIdentifierArgument = BACnetPropertyIdentifier.valueOf((String) args[2]);
    } else {
      throw new PlcRuntimeException(
          "Argument 2 expected to be of type BACnetPropertyIdentifier or a string which is"
              + " parseable but was "
              + args[2].getClass().getName());
    }
    BACnetTagPayloadUnsignedInteger arrayIndexArgument;
    if (args[3] instanceof BACnetTagPayloadUnsignedInteger) {
      arrayIndexArgument = (BACnetTagPayloadUnsignedInteger) args[3];
    } else {
      throw new PlcRuntimeException(
          "Argument 3 expected to be of type BACnetTagPayloadUnsignedInteger or a string which is"
              + " parseable but was "
              + args[3].getClass().getName());
    }
    return staticParse(
        readBuffer, tagNumber, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument);
  }

  public static BACnetConstructedData staticParse(
      ReadBuffer readBuffer,
      Short tagNumber,
      BACnetObjectType objectTypeArgument,
      BACnetPropertyIdentifier propertyIdentifierArgument,
      BACnetTagPayloadUnsignedInteger arrayIndexArgument)
      throws ParseException {
    readBuffer.pullContext("BACnetConstructedData");
    PositionAware positionAware = readBuffer;
    int startPos = positionAware.getPos();
    int curPos;

    BACnetOpeningTag openingTag =
        readSimpleField(
            "openingTag",
            new DataReaderComplexDefault<>(
                () -> BACnetOpeningTag.staticParse(readBuffer, (short) (tagNumber)), readBuffer));

    BACnetTagHeader peekedTagHeader =
        readPeekField(
            "peekedTagHeader",
            new DataReaderComplexDefault<>(
                () -> BACnetTagHeader.staticParse(readBuffer), readBuffer));
    short peekedTagNumber =
        readVirtualField("peekedTagNumber", short.class, peekedTagHeader.getActualTagNumber());

    // Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
    BACnetConstructedDataBuilder builder = null;
    if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ABSENTEE_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAbsenteeLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCEPTED_MODES)) {
      builder =
          BACnetConstructedDataAcceptedModes.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_ALARM_EVENTS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAccessAlarmEvents.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_DOORS)) {
      builder =
          BACnetConstructedDataAccessDoors.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_EVENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAccessEvent.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.ACCESS_EVENT_AUTHENTICATION_FACTOR)) {
      builder =
          BACnetConstructedDataAccessEventAuthenticationFactor.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_EVENT_CREDENTIAL)) {
      builder =
          BACnetConstructedDataAccessEventCredential.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_EVENT_TAG)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccessEventTag.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_EVENT_TIME)) {
      builder =
          BACnetConstructedDataAccessEventTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCESS_TRANSACTION_EVENTS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAccessTransactionEvents.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCOMPANIMENT)) {
      builder =
          BACnetConstructedDataAccompaniment.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACCOMPANIMENT_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccompanimentTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACK_REQUIRED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAckRequired.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACKED_TRANSITIONS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAckedTransitions.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LOOP)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ACTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLoopAction.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.COMMAND)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ACTION)) {
      builder =
          BACnetConstructedDataCommandAction.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ACTION)) {
      builder =
          BACnetConstructedDataAction.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ACTION_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataActionText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACTIVATION_TIME)) {
      builder =
          BACnetConstructedDataActivationTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACTIVE_AUTHENTICATION_POLICY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataActiveAuthenticationPolicy.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS)) {
      builder =
          BACnetConstructedDataActiveCOVMultipleSubscriptions.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS)) {
      builder =
          BACnetConstructedDataActiveCOVSubscriptions.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ACTIVE_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataActiveText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACTIVE_VT_SESSIONS)) {
      builder =
          BACnetConstructedDataActiveVTSessions.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ACTUAL_SHED_LEVEL)) {
      builder =
          BACnetConstructedDataActualShedLevel.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_ZONE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ADJUST_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataAccessZoneAdjustValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.PULSE_CONVERTER)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ADJUST_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataPulseConverterAdjustValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ADJUST_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataAdjustValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAlarmValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_DOOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataAccessDoorAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_ZONE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataAccessZoneAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BITSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataBitStringValueAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHARACTERSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataCharacterStringValueAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_POINT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataLifeSafetyPointAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_ZONE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataLifeSafetyZoneAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateInputAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateValueAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMER)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataTimerAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALARM_VALUES)) {
      builder =
          BACnetConstructedDataAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALIGN_INTERVALS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataAlignIntervals.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_CREDENTIAL)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccessCredentialAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_DOOR)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccessDoorAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_POINT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccessPointAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_RIGHTS)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccessRightsAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_USER)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccessUserAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_ZONE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccessZoneAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAccumulatorAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ALERT_ENROLLMENT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAlertEnrollmentAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_INPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAnalogInputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_OUTPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAnalogOutputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAnalogValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.AVERAGING)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataAveragingAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_INPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataBinaryInputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_LIGHTING_OUTPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataBinaryLightingOutputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_OUTPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataBinaryOutputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataBinaryValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BITSTRING_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataBitstringValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CALENDAR)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataCalendarAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHANNEL)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataChannelAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHARACTERSTRING_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataCharacterstringValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.COMMAND)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataCommandAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CREDENTIAL_DATA_INPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataCredentialDataInputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATEPATTERN_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataDatepatternValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATE_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataDateValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATETIMEPATTERN_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataDatetimepatternValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATETIME_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataDatetimeValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DEVICE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataDeviceAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ELEVATOR_GROUP)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataElevatorGroupAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ESCALATOR)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataEscalatorAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.EVENT_ENROLLMENT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataEventEnrollmentAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.EVENT_LOG)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataEventLogAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.FILE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataFileAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.GLOBAL_GROUP)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataGlobalGroupAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.GROUP)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataGroupAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataIntegerValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLargeAnalogValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_POINT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLifeSafetyPointAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_ZONE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLifeSafetyZoneAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLiftAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLightingOutputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LOAD_CONTROL)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLoadControlAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LOOP)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataLoopAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_INPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataMultiStateInputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_OUTPUT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataMultiStateOutputAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataMultiStateValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.NETWORK_PORT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataNetworkPortAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.NETWORK_SECURITY)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataNetworkSecurityAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.NOTIFICATION_CLASS)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataNotificationClassAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.NOTIFICATION_FORWARDER)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataNotificationForwarderAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.OCTETSTRING_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataOctetstringValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.PROGRAM)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataProgramAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.PULSE_CONVERTER)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataPulseConverterAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.SCHEDULE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataScheduleAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.STRUCTURED_VIEW)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataStructuredViewAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMEPATTERN_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataTimepatternValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIME_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataTimeValueAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMER)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataTimerAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TREND_LOG)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataTrendLogAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TREND_LOG_MULTIPLE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ALL)) {
      builder =
          BACnetConstructedDataTrendLogMultipleAll.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALL_WRITES_SUCCESSFUL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataAllWritesSuccessful.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ALLOW_GROUP_DELAY_INHIBIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataAllowGroupDelayInhibit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.APDU_LENGTH)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAPDULength.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.APDU_SEGMENT_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAPDUSegmentTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.APDU_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAPDUTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.APPLICATION_SOFTWARE_VERSION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataApplicationSoftwareVersion.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ARCHIVE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataArchive.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ASSIGNED_ACCESS_RIGHTS)) {
      builder =
          BACnetConstructedDataAssignedAccessRights.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ASSIGNED_LANDING_CALLS)) {
      builder =
          BACnetConstructedDataAssignedLandingCalls.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ATTEMPTED_SAMPLES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAttemptedSamples.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTHENTICATION_FACTORS)) {
      builder =
          BACnetConstructedDataAuthenticationFactors.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTHENTICATION_POLICY_LIST)) {
      builder =
          BACnetConstructedDataAuthenticationPolicyList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTHENTICATION_POLICY_NAMES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataAuthenticationPolicyNames.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTHENTICATION_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAuthenticationStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTHORIZATION_EXEMPTIONS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAuthorizationExemptions.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTHORIZATION_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAuthorizationMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AUTO_SLAVE_DISCOVERY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataAutoSlaveDiscovery.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.AVERAGE_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAverageValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACKUP_AND_RESTORE_STATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBackupAndRestoreState.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACKUP_FAILURE_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataBackupFailureTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACKUP_PREPARATION_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataBackupPreparationTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IP_GLOBAL_ADDRESS)) {
      builder =
          BACnetConstructedDataBACnetIPGlobalAddress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IP_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBACnetIPMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IP_MULTICAST_ADDRESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataBACnetIPMulticastAddress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IP_NAT_TRAVERSAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataBACnetIPNATTraversal.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IP_UDP_PORT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataBACnetIPUDPPort.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IPV6_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBACnetIPv6Mode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IPV6_UDP_PORT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataBACnetIPv6UDPPort.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BACNET_IPV6_MULTICAST_ADDRESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataBACnetIPv6MulticastAddress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BASE_DEVICE_SECURITY_POLICY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBaseDeviceSecurityPolicy.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BBMD_ACCEPT_FD_REGISTRATIONS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataBBMDAcceptFDRegistrations.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.BBMD_BROADCAST_DISTRIBUTION_TABLE)) {
      builder =
          BACnetConstructedDataBBMDBroadcastDistributionTable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BBMD_FOREIGN_DEVICE_TABLE)) {
      builder =
          BACnetConstructedDataBBMDForeignDeviceTable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BELONGS_TO)) {
      builder =
          BACnetConstructedDataBelongsTo.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.BIAS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataBias.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.BIT_MASK)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataBitMask.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.BIT_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataBitText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.BLINK_WARN_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataBlinkWarnEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.BUFFER_SIZE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataBufferSize.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_ASSIGNED_DIRECTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarAssignedDirection.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_DOOR_COMMAND)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarDoorCommand.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_DOOR_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarDoorStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_DOOR_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataCarDoorText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_DOOR_ZONE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataCarDoorZone.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_DRIVE_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarDriveStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_LOAD)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataCarLoad.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_LOAD_UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarLoadUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_MOVING_DIRECTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCarMovingDirection.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CAR_POSITION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataCarPosition.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CHANGE_OF_STATE_COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataChangeOfStateCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CHANGE_OF_STATE_TIME)) {
      builder =
          BACnetConstructedDataChangeOfStateTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CHANGES_PENDING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataChangesPending.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CHANNEL_NUMBER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataChannelNumber.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CLIENT_COV_INCREMENT)) {
      builder =
          BACnetConstructedDataClientCOVIncrement.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.COMMAND)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCommand.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COMMAND_TIME_ARRAY)) {
      builder =
          BACnetConstructedDataCommandTimeArray.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CONFIGURATION_FILES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataConfigurationFiles.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CONTROL_GROUPS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataControlGroups.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CONTROLLED_VARIABLE_REFERENCE)) {
      builder =
          BACnetConstructedDataControlledVariableReference.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CONTROLLED_VARIABLE_UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataControlledVariableUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CONTROLLED_VARIABLE_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataControlledVariableValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COUNT_BEFORE_CHANGE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataCountBeforeChange.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COUNT_CHANGE_TIME)) {
      builder =
          BACnetConstructedDataCountChangeTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COV_INCREMENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIntegerValueCOVIncrement.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COV_INCREMENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueCOVIncrement.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COV_INCREMENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueCOVIncrement.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COV_INCREMENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataCOVIncrement.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.COV_PERIOD)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataCOVPeriod.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COV_RESUBSCRIPTION_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataCOVResubscriptionInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.COVU_PERIOD)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataCOVUPeriod.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.COVU_RECIPIENTS)) {
      builder =
          BACnetConstructedDataCOVURecipients.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CREDENTIAL_DISABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCredentialDisable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CREDENTIAL_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataCredentialStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CREDENTIALS)) {
      builder =
          BACnetConstructedDataCredentials.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CREDENTIALS_IN_ZONE)) {
      builder =
          BACnetConstructedDataCredentialsInZone.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.CURRENT_COMMAND_PRIORITY)) {
      builder =
          BACnetConstructedDataCurrentCommandPriority.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DATABASE_REVISION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDatabaseRevision.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DATE_LIST)) {
      builder =
          BACnetConstructedDataDateList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DAYLIGHT_SAVINGS_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataDaylightSavingsStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DAYS_REMAINING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataDaysRemaining.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DEADBAND)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIntegerValueDeadband.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DEADBAND)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueDeadband.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DEADBAND)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueDeadband.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DEADBAND)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataDeadband.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEFAULT_FADE_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDefaultFadeTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEFAULT_RAMP_RATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataDefaultRampRate.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEFAULT_STEP_INCREMENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataDefaultStepIncrement.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEFAULT_SUBORDINATE_RELATIONSHIP)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataDefaultSubordinateRelationship.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEFAULT_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDefaultTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEPLOYED_PROFILE_LOCATION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataDeployedProfileLocation.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DERIVATIVE_CONSTANT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataDerivativeConstant.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DERIVATIVE_CONSTANT_UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataDerivativeConstantUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DESCRIPTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataDescription.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DESCRIPTION_OF_HALT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataDescriptionOfHalt.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DEVICE_ADDRESS_BINDING)) {
      builder =
          BACnetConstructedDataDeviceAddressBinding.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DEVICE_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataDeviceType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DIRECT_READING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataDirectReading.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DISTRIBUTION_KEY_REVISION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDistributionKeyRevision.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DO_NOT_HIDE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataDoNotHide.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_ALARM_STATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataDoorAlarmState.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_EXTENDED_PULSE_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDoorExtendedPulseTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_MEMBERS)) {
      builder =
          BACnetConstructedDataDoorMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_OPEN_TOO_LONG_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDoorOpenTooLongTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_PULSE_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDoorPulseTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataDoorStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.DOOR_UNLOCK_DELAY_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDoorUnlockDelayTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.DUTY_WINDOW)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDutyWindow.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EFFECTIVE_PERIOD)) {
      builder =
          BACnetConstructedDataEffectivePeriod.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EGRESS_ACTIVE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataEgressActive.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.EGRESS_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataEgressTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ELAPSED_ACTIVE_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataElapsedActiveTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ELEVATOR_GROUP)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataElevatorGroup.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ENERGY_METER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataEnergyMeter.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ENERGY_METER_REF)) {
      builder =
          BACnetConstructedDataEnergyMeterRef.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ENTRY_POINTS)) {
      builder =
          BACnetConstructedDataEntryPoints.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ERROR_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataErrorLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ESCALATOR_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataEscalatorMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_ALGORITHM_INHIBIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataEventAlgorithmInhibit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_ALGORITHM_INHIBIT_REF)) {
      builder =
          BACnetConstructedDataEventAlgorithmInhibitRef.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_DETECTION_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataEventDetectionEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataEventEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_MESSAGE_TEXTS)) {
      builder =
          BACnetConstructedDataEventMessageTexts.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG)) {
      builder =
          BACnetConstructedDataEventMessageTextsConfig.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_PARAMETERS)) {
      builder =
          BACnetConstructedDataEventParameters.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_STATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataEventState.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_TIME_STAMPS)) {
      builder =
          BACnetConstructedDataEventTimeStamps.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.EVENT_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataEventType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EXCEPTION_SCHEDULE)) {
      builder =
          BACnetConstructedDataExceptionSchedule.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EXECUTION_DELAY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataExecutionDelay.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EXIT_POINTS)) {
      builder =
          BACnetConstructedDataExitPoints.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EXPECTED_SHED_LEVEL)) {
      builder =
          BACnetConstructedDataExpectedShedLevel.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EXPIRATION_TIME)) {
      builder =
          BACnetConstructedDataExpirationTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.EXTENDED_TIME_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataExtendedTimeEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAILED_ATTEMPT_EVENTS)) {
      builder =
          BACnetConstructedDataFailedAttemptEvents.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAILED_ATTEMPTS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataFailedAttempts.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAILED_ATTEMPTS_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataFailedAttemptsTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccumulatorFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogInputFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogValueFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataFaultHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccumulatorFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogInputFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogValueFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataFaultLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_PARAMETERS)) {
      builder =
          BACnetConstructedDataFaultParameters.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ESCALATOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_SIGNALS)) {
      builder =
          BACnetConstructedDataEscalatorFaultSignals.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_SIGNALS)) {
      builder =
          BACnetConstructedDataLiftFaultSignals.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_SIGNALS)) {
      builder =
          BACnetConstructedDataFaultSignals.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataFaultType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_DOOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)) {
      builder =
          BACnetConstructedDataAccessDoorFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHARACTERSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)) {
      builder =
          BACnetConstructedDataCharacterStringValueFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_POINT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)) {
      builder =
          BACnetConstructedDataLifeSafetyPointFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_ZONE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)) {
      builder =
          BACnetConstructedDataLifeSafetyZoneFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateInputFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateValueFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FAULT_VALUES)) {
      builder =
          BACnetConstructedDataFaultValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FD_BBMD_ADDRESS)) {
      builder =
          BACnetConstructedDataFDBBMDAddress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FD_SUBSCRIPTION_LIFETIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataFDSubscriptionLifetime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FEEDBACK_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryLightingOutputFeedbackValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FEEDBACK_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryOutputFeedbackValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FEEDBACK_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLightingOutputFeedbackValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FEEDBACK_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateOutputFeedbackValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FILE_ACCESS_METHOD)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataFileAccessMethod.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.FILE_SIZE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataFileSize.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.FILE_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataFileType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FIRMWARE_REVISION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataFirmwareRevision.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.FLOOR_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataFloorText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.FULL_DUTY_BASELINE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataFullDutyBaseline.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.GLOBAL_IDENTIFIER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataGlobalIdentifier.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.GROUP_ID)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataGroupID.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.GROUP_MEMBER_NAMES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataGroupMemberNames.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.GLOBAL_GROUP)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.GROUP_MEMBERS)) {
      builder =
          BACnetConstructedDataGlobalGroupGroupMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ELEVATOR_GROUP)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.GROUP_MEMBERS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataElevatorGroupGroupMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.GROUP_MEMBERS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataGroupMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.GROUP_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataGroupMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccumulatorHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.HIGH_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataHighLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.HIGHER_DECK)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataHigherDeck.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.IN_PROCESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataInProcess.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.IN_PROGRESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataInProgress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INACTIVE_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataInactiveText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INITIAL_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataInitialTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INPUT_REFERENCE)) {
      builder =
          BACnetConstructedDataInputReference.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INSTALLATION_ID)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataInstallationID.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.INSTANCE_OF)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataInstanceOf.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INSTANTANEOUS_POWER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataInstantaneousPower.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTEGRAL_CONSTANT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataIntegralConstant.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTEGRAL_CONSTANT_UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataIntegralConstantUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERFACE_VALUE)) {
      builder =
          BACnetConstructedDataAnalogInputInterfaceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERFACE_VALUE)) {
      builder =
          BACnetConstructedDataAnalogOutputInterfaceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERFACE_VALUE)) {
      builder =
          BACnetConstructedDataBinaryInputInterfaceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERFACE_VALUE)) {
      builder =
          BACnetConstructedDataBinaryOutputInterfaceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERFACE_VALUE)) {
      builder =
          BACnetConstructedDataMultiStateInputInterfaceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERFACE_VALUE)) {
      builder =
          BACnetConstructedDataMultiStateOutputInterfaceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.INTERVAL_OFFSET)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIntervalOffset.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.IP_ADDRESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPAddress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_DEFAULT_GATEWAY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPDefaultGateway.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_DHCP_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataIPDHCPEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_DHCP_LEASE_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIPDHCPLeaseTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_DHCP_LEASE_TIME_REMAINING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIPDHCPLeaseTimeRemaining.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_DHCP_SERVER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPDHCPServer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_DNS_SERVER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPDNSServer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IP_SUBNET_MASK)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPSubnetMask.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_ADDRESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPv6Address.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_AUTO_ADDRESSING_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataIPv6AutoAddressingEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_DEFAULT_GATEWAY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPv6DefaultGateway.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_DHCP_LEASE_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIPv6DHCPLeaseTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_DHCP_LEASE_TIME_REMAINING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIPv6DHCPLeaseTimeRemaining.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_DHCP_SERVER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPv6DHCPServer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_DNS_SERVER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataIPv6DNSServer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_PREFIX_LENGTH)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataIPv6PrefixLength.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.IPV6_ZONE_INDEX)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataIPv6ZoneIndex.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.IS_UTC)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataIsUTC.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.KEY_SETS)) {
      builder =
          BACnetConstructedDataKeySets.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LANDING_CALL_CONTROL)) {
      builder =
          BACnetConstructedDataLandingCallControl.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LANDING_CALLS)) {
      builder =
          BACnetConstructedDataLandingCalls.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LANDING_DOOR_STATUS)) {
      builder =
          BACnetConstructedDataLandingDoorStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_ACCESS_EVENT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLastAccessEvent.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_ACCESS_POINT)) {
      builder =
          BACnetConstructedDataLastAccessPoint.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_COMMAND_TIME)) {
      builder =
          BACnetConstructedDataLastCommandTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_CREDENTIAL_ADDED)) {
      builder =
          BACnetConstructedDataLastCredentialAdded.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_CREDENTIAL_ADDED_TIME)) {
      builder =
          BACnetConstructedDataLastCredentialAddedTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_CREDENTIAL_REMOVED)) {
      builder =
          BACnetConstructedDataLastCredentialRemoved.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_CREDENTIAL_REMOVED_TIME)) {
      builder =
          BACnetConstructedDataLastCredentialRemovedTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_KEY_SERVER)) {
      builder =
          BACnetConstructedDataLastKeyServer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_NOTIFY_RECORD)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataLastNotifyRecord.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_PRIORITY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataLastPriority.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_RESTART_REASON)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLastRestartReason.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_RESTORE_TIME)) {
      builder =
          BACnetConstructedDataLastRestoreTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_STATE_CHANGE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLastStateChange.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LAST_USE_TIME)) {
      builder =
          BACnetConstructedDataLastUseTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LIFE_SAFETY_ALARM_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLifeSafetyAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LIGHTING_COMMAND)) {
      builder =
          BACnetConstructedDataLightingCommand.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LIGHTING_COMMAND_DEFAULT_PRIORITY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataLightingCommandDefaultPriority.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LIMIT_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataLimitEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LIMIT_MONITORING_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataLimitMonitoringInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LINK_SPEED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLinkSpeed.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LINK_SPEED_AUTONEGOTIATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataLinkSpeedAutonegotiate.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LINK_SPEEDS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLinkSpeeds.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LIST_OF_GROUP_MEMBERS)) {
      builder =
          BACnetConstructedDataListOfGroupMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHANNEL)
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.LIST_OF_OBJECT_PROPERTY_REFERENCES)) {
      builder =
          BACnetConstructedDataChannelListOfObjectPropertyReferences.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.LIST_OF_OBJECT_PROPERTY_REFERENCES)) {
      builder =
          BACnetConstructedDataListOfObjectPropertyReferences.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOCAL_DATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 10)) {
      builder =
          BACnetConstructedDataLocalDate.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOCAL_FORWARDING_ONLY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataLocalForwardingOnly.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOCAL_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataLocalTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOCATION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataLocation.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOCK_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLockStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOCKOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataLockout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOCKOUT_RELINQUISH_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataLockoutRelinquishTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.EVENT_LOG)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_BUFFER)) {
      builder =
          BACnetConstructedDataEventLogLogBuffer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TREND_LOG)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_BUFFER)) {
      builder =
          BACnetConstructedDataTrendLogLogBuffer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TREND_LOG_MULTIPLE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_BUFFER)) {
      builder =
          BACnetConstructedDataTrendLogMultipleLogBuffer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_BUFFER)) {
      builder =
          BACnetConstructedDataLogBuffer.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TREND_LOG)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY)) {
      builder =
          BACnetConstructedDataTrendLogLogDeviceObjectProperty.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TREND_LOG_MULTIPLE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY)) {
      builder =
          BACnetConstructedDataTrendLogMultipleLogDeviceObjectProperty.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY)) {
      builder =
          BACnetConstructedDataLogDeviceObjectProperty.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOG_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataLogInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOGGING_OBJECT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataLoggingObject.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOGGING_RECORD)) {
      builder =
          BACnetConstructedDataLoggingRecord.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOGGING_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLoggingType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.LOW_DIFF_LIMIT)) {
      builder =
          BACnetConstructedDataLowDiffLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccumulatorLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOW_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLowLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.LOWER_DECK)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataLowerDeck.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MAC_ADDRESS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataMACAddress.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MACHINE_ROOM_ID)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataMachineRoomID.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_ZONE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAINTENANCE_REQUIRED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataLifeSafetyZoneMaintenanceRequired.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAINTENANCE_REQUIRED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataMaintenanceRequired.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAKING_CAR_CALL)) {
      builder =
          BACnetConstructedDataMakingCarCall.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MANIPULATED_VARIABLE_REFERENCE)) {
      builder =
          BACnetConstructedDataManipulatedVariableReference.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MANUAL_SLAVE_ADDRESS_BINDING)) {
      builder =
          BACnetConstructedDataManualSlaveAddressBinding.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MASKED_ALARM_VALUES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataMaskedAlarmValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_ACTUAL_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMaxActualValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMaxAPDULengthAccepted.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_FAILED_ATTEMPTS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMaxFailedAttempts.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DEVICE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_INFO_FRAMES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDeviceMaxInfoFrames.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.NETWORK_PORT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_INFO_FRAMES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNetworkPortMaxInfoFrames.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_INFO_FRAMES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMaxInfoFrames.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DEVICE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_MASTER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataDeviceMaxMaster.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.NETWORK_PORT)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_MASTER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNetworkPortMaxMaster.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_MASTER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMaxMaster.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccumulatorMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogInputMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogOutputMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogValueMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMER)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTimerMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMaxPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAX_SEGMENTS_ACCEPTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMaxSegmentsAccepted.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAXIMUM_OUTPUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMaximumOutput.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAXIMUM_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMaximumValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MAXIMUM_VALUE_TIMESTAMP)) {
      builder =
          BACnetConstructedDataMaximumValueTimestamp.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MEMBER_OF)) {
      builder =
          BACnetConstructedDataMemberOf.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MEMBER_STATUS_FLAGS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataMemberStatusFlags.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MEMBERS)) {
      builder =
          BACnetConstructedDataMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_ACTUAL_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMinActualValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCUMULATOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataAccumulatorMinPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueMinPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueMinPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueMinPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMER)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTimerMinPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MIN_PRES_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMinPresValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MINIMUM_OFF_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMinimumOffTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MINIMUM_ON_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMinimumOnTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MINIMUM_OUTPUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMinimumOutput.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MINIMUM_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataMinimumValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MINIMUM_VALUE_TIMESTAMP)) {
      builder =
          BACnetConstructedDataMinimumValueTimestamp.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.MODEL_NAME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataModelName.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MODIFICATION_DATE)) {
      builder =
          BACnetConstructedDataModificationDate.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.MUSTER_POINT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataMusterPoint.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NEGATIVE_ACCESS_RULES)) {
      builder =
          BACnetConstructedDataNegativeAccessRules.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.NETWORK_ACCESS_SECURITY_POLICIES)) {
      builder =
          BACnetConstructedDataNetworkAccessSecurityPolicies.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NETWORK_INTERFACE_NAME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataNetworkInterfaceName.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NETWORK_NUMBER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNetworkNumber.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NETWORK_NUMBER_QUALITY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataNetworkNumberQuality.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NETWORK_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataNetworkType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NEXT_STOPPING_FLOOR)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNextStoppingFloor.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NODE_SUBTYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataNodeSubtype.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.NODE_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataNodeType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NOTIFICATION_CLASS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNotificationClass.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NOTIFICATION_THRESHOLD)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNotificationThreshold.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.NOTIFY_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataNotifyType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NUMBER_OF_APDU_RETRIES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNumberOfAPDURetries.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NUMBER_OF_AUTHENTICATION_POLICIES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNumberOfAuthenticationPolicies.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.NUMBER_OF_STATES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataNumberOfStates.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OBJECT_IDENTIFIER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataObjectIdentifier.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OBJECT_LIST)) {
      builder =
          BACnetConstructedDataObjectList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.OBJECT_NAME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataObjectName.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OBJECT_PROPERTY_REFERENCE)) {
      builder =
          BACnetConstructedDataObjectPropertyReference.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.OBJECT_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataObjectType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataOccupancyCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_COUNT_ADJUST)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataOccupancyCountAdjust.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_COUNT_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataOccupancyCountEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_LOWER_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataOccupancyLowerLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_LOWER_LIMIT_ENFORCED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataOccupancyLowerLimitEnforced.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_STATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataOccupancyState.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_UPPER_LIMIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataOccupancyUpperLimit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OCCUPANCY_UPPER_LIMIT_ENFORCED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataOccupancyUpperLimitEnforced.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OPERATION_DIRECTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataOperationDirection.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OPERATION_EXPECTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataOperationExpected.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.OPTIONAL)) {
      builder =
          BACnetConstructedDataOptional.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OUT_OF_SERVICE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataOutOfService.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.OUTPUT_UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataOutputUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PACKET_REORDER_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPacketReorderTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PASSBACK_MODE)) {
      builder =
          BACnetConstructedDataPassbackMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PASSBACK_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPassbackTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PASSENGER_ALARM)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataPassengerAlarm.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.POLARITY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataPolarity.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PORT_FILTER)) {
      builder =
          BACnetConstructedDataPortFilter.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.POSITIVE_ACCESS_RULES)) {
      builder =
          BACnetConstructedDataPositiveAccessRules.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.POWER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataPower.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.POWER_MODE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataPowerMode.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.PRESCALE)) {
      builder =
          BACnetConstructedDataPrescale.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_DOOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAccessDoorPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ALERT_ENROLLMENT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 12)) {
      builder =
          BACnetConstructedDataAlertEnrollmentPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogInputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogOutputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryInputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryOutputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryLightingOutputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BITSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataBitStringValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CALENDAR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataCalendarPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHANNEL)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)) {
      builder =
          BACnetConstructedDataChannelPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHARACTERSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataCharacterStringValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CREDENTIAL_DATA_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)) {
      builder =
          BACnetConstructedDataCredentialDataInputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATE_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 10)) {
      builder =
          BACnetConstructedDataDateValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATEPATTERN_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 10)) {
      builder =
          BACnetConstructedDataDatePatternValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATETIME_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataDateTimeValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATETIMEPATTERN_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataDateTimePatternValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLightingOutputPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_POINT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLifeSafetyPointPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIFE_SAFETY_ZONE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLifeSafetyZonePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LOAD_CONTROL)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataLoadControlPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LOOP)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLoopPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.PULSE_CONVERTER)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataPulseConverterPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.GROUP)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)) {
      builder =
          BACnetConstructedDataGroupPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.GLOBAL_GROUP)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)) {
      builder =
          BACnetConstructedDataGlobalGroupPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.OCTETSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataOctetStringValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.SCHEDULE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)) {
      builder =
          BACnetConstructedDataSchedulePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIME_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataTimeValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMEPATTERN_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataTimePatternValuePresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRESENT_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPresentValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.PRIORITY)) {
      builder =
          BACnetConstructedDataPriority.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRIORITY_ARRAY)) {
      builder =
          BACnetConstructedDataPriorityArray.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PRIORITY_FOR_WRITING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPriorityForWriting.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROCESS_IDENTIFIER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataProcessIdentifier.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROCESS_IDENTIFIER_FILTER)) {
      builder =
          BACnetConstructedDataProcessIdentifierFilter.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROFILE_LOCATION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataProfileLocation.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROFILE_NAME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataProfileName.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROGRAM_CHANGE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataProgramChange.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROGRAM_LOCATION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataProgramLocation.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROGRAM_STATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataProgramState.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROPERTY_LIST)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataPropertyList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROPORTIONAL_CONSTANT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataProportionalConstant.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROPORTIONAL_CONSTANT_UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataProportionalConstantUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROTOCOL_LEVEL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataProtocolLevel.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataProtocolObjectTypesSupported.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROTOCOL_REVISION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataProtocolRevision.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataProtocolServicesSupported.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.PROTOCOL_VERSION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataProtocolVersion.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.PULSE_RATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPulseRate.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.READ_ONLY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataReadOnly.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REASON_FOR_DISABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataReasonForDisable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REASON_FOR_HALT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataReasonForHalt.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RECIPIENT_LIST)) {
      builder =
          BACnetConstructedDataRecipientList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.FILE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RECORD_COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataFileRecordCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RECORD_COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataRecordCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RECORDS_SINCE_NOTIFICATION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataRecordsSinceNotification.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REFERENCE_PORT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataReferencePort.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REGISTERED_CAR_CALL)) {
      builder =
          BACnetConstructedDataRegisteredCarCall.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.RELIABILITY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataReliability.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELIABILITY_EVALUATION_INHIBIT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataReliabilityEvaluationInhibit.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ACCESS_DOOR)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataAccessDoorRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogOutputRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataAnalogValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryOutputRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BINARY_LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataBinaryLightingOutputRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.BITSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataBitStringValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CHARACTERSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataCharacterStringValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATE_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 10)) {
      builder =
          BACnetConstructedDataDateValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATEPATTERN_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 10)) {
      builder =
          BACnetConstructedDataDatePatternValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATETIME_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)) {
      builder =
          BACnetConstructedDataDateTimeValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.DATETIMEPATTERN_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)) {
      builder =
          BACnetConstructedDataDateTimePatternValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLightingOutputRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMEPATTERN_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataTimePatternValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIME_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 11)) {
      builder =
          BACnetConstructedDataTimeValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.OCTETSTRING_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 6)) {
      builder =
          BACnetConstructedDataOctetStringValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateOutputRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.MULTI_STATE_VALUE)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataMultiStateValueRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RELINQUISH_DEFAULT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataRelinquishDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REPRESENTS)) {
      builder =
          BACnetConstructedDataRepresents.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REQUESTED_SHED_LEVEL)) {
      builder =
          BACnetConstructedDataRequestedShedLevel.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.REQUESTED_UPDATE_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataRequestedUpdateInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.REQUIRED)) {
      builder =
          BACnetConstructedDataRequired.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LARGE_ANALOG_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.RESOLUTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 5)) {
      builder =
          BACnetConstructedDataLargeAnalogValueResolution.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.RESOLUTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataIntegerValueResolution.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.POSITIVE_INTEGER_VALUE)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.RESOLUTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataPositiveIntegerValueResolution.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.TIMER)
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.RESOLUTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTimerResolution.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.RESOLUTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataResolution.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RESTART_NOTIFICATION_RECIPIENTS)) {
      builder =
          BACnetConstructedDataRestartNotificationRecipients.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RESTORE_COMPLETION_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataRestoreCompletionTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.RESTORE_PREPARATION_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataRestorePreparationTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ROUTING_TABLE)) {
      builder =
          BACnetConstructedDataRoutingTable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.SCALE)) {
      builder =
          BACnetConstructedDataScale.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SCALE_FACTOR)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataScaleFactor.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SCHEDULE_DEFAULT)) {
      builder =
          BACnetConstructedDataScheduleDefault.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SECURED_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataSecuredStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SECURITY_PDU_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataSecurityPDUTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SECURITY_TIME_WINDOW)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataSecurityTimeWindow.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SEGMENTATION_SUPPORTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataSegmentationSupported.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SERIAL_NUMBER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataSerialNumber.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.SETPOINT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataSetpoint.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SETPOINT_REFERENCE)) {
      builder =
          BACnetConstructedDataSetpointReference.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.SETTING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataSetting.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SHED_DURATION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataShedDuration.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SHED_LEVEL_DESCRIPTIONS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataShedLevelDescriptions.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.SHED_LEVELS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataShedLevels.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.SILENCED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataSilenced.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SLAVE_ADDRESS_BINDING)) {
      builder =
          BACnetConstructedDataSlaveAddressBinding.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SLAVE_PROXY_ENABLE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataSlaveProxyEnable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.START_TIME)) {
      builder =
          BACnetConstructedDataStartTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STATE_CHANGE_VALUES)) {
      builder =
          BACnetConstructedDataStateChangeValues.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STATE_DESCRIPTION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataStateDescription.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.STATE_TEXT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataStateText.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STATUS_FLAGS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 8)) {
      builder =
          BACnetConstructedDataStatusFlags.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STOP_TIME)) {
      builder =
          BACnetConstructedDataStopTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STOP_WHEN_FULL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataStopWhenFull.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STRIKE_COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataStrikeCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.STRUCTURED_OBJECT_LIST)) {
      builder =
          BACnetConstructedDataStructuredObjectList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUBORDINATE_ANNOTATIONS)) {
      builder =
          BACnetConstructedDataSubordinateAnnotations.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUBORDINATE_LIST)) {
      builder =
          BACnetConstructedDataSubordinateList.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUBORDINATE_NODE_TYPES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataSubordinateNodeTypes.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUBORDINATE_RELATIONSHIPS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataSubordinateRelationships.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUBORDINATE_TAGS)) {
      builder =
          BACnetConstructedDataSubordinateTags.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUBSCRIBED_RECIPIENTS)) {
      builder =
          BACnetConstructedDataSubscribedRecipients.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUPPORTED_FORMAT_CLASSES)) {
      builder =
          BACnetConstructedDataSupportedFormatClasses.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUPPORTED_FORMATS)) {
      builder =
          BACnetConstructedDataSupportedFormats.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SUPPORTED_SECURITY_ALGORITHMS)) {
      builder =
          BACnetConstructedDataSupportedSecurityAlgorithms.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.SYSTEM_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataSystemStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.TAGS)) {
      builder =
          BACnetConstructedDataTags.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.THREAT_AUTHORITY)) {
      builder =
          BACnetConstructedDataThreatAuthority.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.THREAT_LEVEL)) {
      builder =
          BACnetConstructedDataThreatLevel.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_DELAY)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTimeDelay.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_DELAY_NORMAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTimeDelayNormal.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_OF_ACTIVE_TIME_RESET)) {
      builder =
          BACnetConstructedDataTimeOfActiveTimeReset.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_OF_DEVICE_RESTART)) {
      builder =
          BACnetConstructedDataTimeOfDeviceRestart.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_OF_STATE_COUNT_RESET)) {
      builder =
          BACnetConstructedDataTimeOfStateCountReset.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_OF_STRIKE_COUNT_RESET)) {
      builder =
          BACnetConstructedDataTimeOfStrikeCountReset.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_SYNCHRONIZATION_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTimeSynchronizationInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIME_SYNCHRONIZATION_RECIPIENTS)) {
      builder =
          BACnetConstructedDataTimeSynchronizationRecipients.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TIMER_RUNNING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataTimerRunning.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.TIMER_STATE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataTimerState.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TOTAL_RECORD_COUNT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTotalRecordCount.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.TRACE_FLAG)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataTraceFlag.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TRACKING_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLightingOutputTrackingValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TRACKING_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataLightingOutputTrackingValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TRACKING_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataTrackingValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.TRANSACTION_NOTIFICATION_CLASS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataTransactionNotificationClass.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.TRANSITION)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataTransition.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.TRIGGER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 1)) {
      builder =
          BACnetConstructedDataTrigger.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.UNITS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataUnits.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.UPDATE_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataUpdateInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.UPDATE_KEY_SET_TIMEOUT)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataUpdateKeySetTimeout.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.CREDENTIAL_DATA_INPUT)
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.UPDATE_TIME)) {
      builder =
          BACnetConstructedDataCredentialDataInputUpdateTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.UPDATE_TIME)) {
      builder =
          BACnetConstructedDataUpdateTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.USER_EXTERNAL_IDENTIFIER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataUserExternalIdentifier.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.USER_INFORMATION_REFERENCE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataUserInformationReference.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.USER_NAME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataUserName.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.USER_TYPE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataUserType.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.USES_REMAINING)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataUsesRemaining.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.UTC_OFFSET)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataUTCOffset.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument,
            BACnetPropertyIdentifier.UTC_TIME_SYNCHRONIZATION_RECIPIENTS)) {
      builder =
          BACnetConstructedDataUTCTimeSynchronizationRecipients.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VALID_SAMPLES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataValidSamples.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VALUE_BEFORE_CHANGE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataValueBeforeChange.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VALUE_CHANGE_TIME)) {
      builder =
          BACnetConstructedDataValueChangeTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.VALUE_SET)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataValueSet.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VALUE_SOURCE)) {
      builder =
          BACnetConstructedDataValueSource.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VALUE_SOURCE_ARRAY)) {
      builder =
          BACnetConstructedDataValueSourceArray.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VARIANCE_VALUE)
        && EvaluationHelper.equals(peekedTagNumber, (short) 4)) {
      builder =
          BACnetConstructedDataVarianceValue.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VENDOR_IDENTIFIER)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataVendorIdentifier.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.VENDOR_NAME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 7)) {
      builder =
          BACnetConstructedDataVendorName.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VERIFICATION_TIME)
        && EvaluationHelper.equals(peekedTagNumber, (short) 3)) {
      builder =
          BACnetConstructedDataVerificationTime.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VIRTUAL_MAC_ADDRESS_TABLE)) {
      builder =
          BACnetConstructedDataVirtualMACAddressTable.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.VT_CLASSES_SUPPORTED)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataVTClassesSupported.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.WEEKLY_SCHEDULE)) {
      builder =
          BACnetConstructedDataWeeklySchedule.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.WINDOW_INTERVAL)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataWindowInterval.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.WINDOW_SAMPLES)
        && EvaluationHelper.equals(peekedTagNumber, (short) 2)) {
      builder =
          BACnetConstructedDataWindowSamples.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.WRITE_STATUS)
        && EvaluationHelper.equals(peekedTagNumber, (short) 9)) {
      builder =
          BACnetConstructedDataWriteStatus.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ZONE_FROM)) {
      builder =
          BACnetConstructedDataZoneFrom.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(
            propertyIdentifierArgument, BACnetPropertyIdentifier.ZONE_MEMBERS)) {
      builder =
          BACnetConstructedDataZoneMembers.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true
        && EvaluationHelper.equals(propertyIdentifierArgument, BACnetPropertyIdentifier.ZONE_TO)) {
      builder =
          BACnetConstructedDataZoneTo.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    } else if (true) {
      builder =
          BACnetConstructedDataUnspecified.staticParseBuilder(
              readBuffer,
              tagNumber,
              objectTypeArgument,
              propertyIdentifierArgument,
              arrayIndexArgument);
    }
    if (builder == null) {
      throw new ParseException(
          "Unsupported case for discriminated type"
              + " parameters ["
              + "objectTypeArgument="
              + objectTypeArgument
              + " "
              + "propertyIdentifierArgument="
              + propertyIdentifierArgument
              + " "
              + "peekedTagNumber="
              + peekedTagNumber
              + "]");
    }

    BACnetClosingTag closingTag =
        readSimpleField(
            "closingTag",
            new DataReaderComplexDefault<>(
                () -> BACnetClosingTag.staticParse(readBuffer, (short) (tagNumber)), readBuffer));

    readBuffer.closeContext("BACnetConstructedData");
    // Create the instance
    BACnetConstructedData _bACnetConstructedData =
        builder.build(openingTag, peekedTagHeader, closingTag, tagNumber, arrayIndexArgument);
    return _bACnetConstructedData;
  }

  public static interface BACnetConstructedDataBuilder {
    BACnetConstructedData build(
        BACnetOpeningTag openingTag,
        BACnetTagHeader peekedTagHeader,
        BACnetClosingTag closingTag,
        Short tagNumber,
        BACnetTagPayloadUnsignedInteger arrayIndexArgument);
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (!(o instanceof BACnetConstructedData)) {
      return false;
    }
    BACnetConstructedData that = (BACnetConstructedData) o;
    return (getOpeningTag() == that.getOpeningTag())
        && (getPeekedTagHeader() == that.getPeekedTagHeader())
        && (getClosingTag() == that.getClosingTag())
        && true;
  }

  @Override
  public int hashCode() {
    return Objects.hash(getOpeningTag(), getPeekedTagHeader(), getClosingTag());
  }

  @Override
  public String toString() {
    WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true);
    try {
      writeBufferBoxBased.writeSerializable(this);
    } catch (SerializationException e) {
      throw new RuntimeException(e);
    }
    return "\n" + writeBufferBoxBased.getBox().toString() + "\n";
  }
}
